Skip to main content

Prerequisites & Setup

This guide walks through a full institution deposit lifecycle using the pattern in depositFlow.mjs. At a high level, this involves the following steps:

  1. Create deposit
  2. Approve deposit (and get intent payload)
  3. Sign payload
  4. Submit deposit.

Prerequisites

  • Node.js 18+.
  • Access to BENJI GraphQL and OAuth credentials:
    • ENDPOINT (A GraphQL URL)
    • clientId (provided by Franklin Templeton)
    • oktaUrl token endpoint
    • ES256 JWK private key (PRI_KEY) for client assertion JWT.
  • Product and institution context:
    • productId
    • institutionEntityId
    • target networkId (example in script uses STR).

Required Configuration Values

Configuration is now parameterized via environment variables (no script edits required):

  • BENJI_CLIENT_ID: client ID provided by Franklin Templeton.
  • BENJI_PRI_KEY_JSON: private JWK generated in Generate Key Pairs step 1.
    • Required fields: kty, crv, x, y, d, kid, iat.
  • Optional overrides:
    • BENJI_ENDPOINT
    • BENJI_OKTA_URL